✅️jsr importとnpm importに対応する (esbuild-remote-loader)
実装
JSR import
1. ✅️jsr: specifierをparseする
esbuild_deno_loaderのコードを参考に作成済み
2. versionリストとexportsを取得する
fetchコード作成済み
3. SemVerにマッチする一番新しいversionを探す
deno_std/semverを使う
もしsemverにマッチする他のversionが読み込まれていれば、そちらを使う
4. exportsと3.で探したversionを使ってURLを組み立てる
exportsはいわゆるsub moduleのURL解決に使うhttps://jsr.io/docs/package-configuration#exports
npm import
1. npm: specifierをparseする
esbuild_deno_loaderのコードを参考に作成済み
2. versionリストを取得する
registory.npmjs.org/{package}を使う
Open API Specification (unofficial)
official docs
3. SemVerにマッチする一番新しいversionを探す
もしsemverにマッチする他のversionが読み込まれていれば、そちらを使う
4. esm.shのURLに置換する
?depsを使ってdependenciesのversionを指定する
https://esm.sh/#specifying-dependencies
node: specifierはどうしようか考え中
16:34:11 全てのnode shimを用意するのが大変なので断念
適宜import mapでuserに貼り替えさせる
2024-07-30
16:34:57 merged
16:34:08 https://github.com/takker99/ScrapJupyter/pull/54
#2024-07-30 10:22:44